package com.yc.cloud.admin.dto.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * hw_camera 创建参数
 *
 * @author kinggu
 * @since 2025-08-25
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "HwCameraCreateReqDTO", description = "hw_camera创建参数")
public class HwCameraCreateReqDTO {

    @ApiModelProperty(value = "摄像头名称")
    @NotEmpty(message = "摄像头名称不能为空")
    private String name;

    @ApiModelProperty(value = "摄像头IP地址")
    @NotEmpty(message = "摄像头IP地址不能为空")
    private String cameraIp;

    @ApiModelProperty(value = "摄像头登录用户名")
    @NotEmpty(message = "摄像头登录用户名不能为空")
    private String cameraUsername;

    @ApiModelProperty(value = "摄像头登录密码")
    @NotEmpty(message = "摄像头登录密码不能为空")
    private String cameraPassword;

    @ApiModelProperty(value = "安装位置")
    private String location;

    @ApiModelProperty(value = "品牌")
    private String brand;

    @ApiModelProperty(value = "型号")
    private String model;

    @ApiModelProperty(value = "备注信息")
    private String description;

    @ApiModelProperty(value = "所属分组ID")
    private Long groupId;

    @ApiModelProperty(value = "所属区域ID")
    private Long regionId;

    @ApiModelProperty(value = "关联监视点ID")
    private Long monitoringPointId;

    @ApiModelProperty(value = "SIP用户名")
    @NotEmpty(message = "SIP用户名不能为空")
    private String sipUsername;

    @ApiModelProperty(value = "视频编码通道")
    @NotEmpty(message = "视频编码通道不能为空")
    private String videoChannel;

}